[INFO] cloning repository https://github.com/gomgom03/Rust_CMIMC_Optimization_3
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gomgom03/Rust_CMIMC_Optimization_3" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgomgom03%2FRust_CMIMC_Optimization_3", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgomgom03%2FRust_CMIMC_Optimization_3'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5868d7e82eac54324d52483c87e905f818b87d49
[INFO] checking gomgom03/Rust_CMIMC_Optimization_3 against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgomgom03%2FRust_CMIMC_Optimization_3" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gomgom03/Rust_CMIMC_Optimization_3
[INFO] finished tweaking git repo https://github.com/gomgom03/Rust_CMIMC_Optimization_3
[INFO] tweaked toml for git repo https://github.com/gomgom03/Rust_CMIMC_Optimization_3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gomgom03/Rust_CMIMC_Optimization_3 on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gomgom03/Rust_CMIMC_Optimization_3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded indexmap v1.6.2
[INFO] [stderr]   Downloaded fixedbitset v0.3.2
[INFO] [stderr]   Downloaded grid v0.2.3
[INFO] [stderr]   Downloaded pathfinding v2.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a75aa99f40781531ca6dc86cde6816da01d183254c5a90b9908dbf7d23a213e3
[INFO] running `Command { std: "docker" "start" "a75aa99f40781531ca6dc86cde6816da01d183254c5a90b9908dbf7d23a213e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a75aa99f40781531ca6dc86cde6816da01d183254c5a90b9908dbf7d23a213e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a75aa99f40781531ca6dc86cde6816da01d183254c5a90b9908dbf7d23a213e3" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a75aa99f40781531ca6dc86cde6816da01d183254c5a90b9908dbf7d23a213e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a75aa99f40781531ca6dc86cde6816da01d183254c5a90b9908dbf7d23a213e3" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling indexmap v1.6.2
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]     Checking fixedbitset v0.3.2
[INFO] [stderr]     Checking grid v0.2.3
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking itertools v0.10.0
[INFO] [stderr]     Checking pathfinding v2.1.1
[INFO] [stderr]     Checking rust_cmimc_3 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/rand_test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/rand_test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/main.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | mod rand_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/method_1.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut solution = String::from("");
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dim_x` is assigned to, but never used
[INFO] [stdout]   --> src/method_1.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut dim_x = 0;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_dim_x` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_robots` is assigned to, but never used
[INFO] [stdout]   --> src/method_1.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut num_robots = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_num_robots` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `min_path` is assigned to, but never used
[INFO] [stdout]   --> src/method_1.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut min_path: Vec<&(i32, i32)> = vec![&(-1, -1)];
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_min_path` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dim_x` is never read
[INFO] [stdout]   --> src/method_1.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             dim_x = first_split[0].parse::<i32>().unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_robots` is never read
[INFO] [stdout]   --> src/method_1.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             num_robots = first_split[2].parse().unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `min_path` is never read
[INFO] [stdout]   --> src/method_1.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                     min_path = t_path;
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t_vec`
[INFO] [stdout]   --> src/rand_test.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let t_vec = vec![(0, 1), (0, 0), (0, 1), (0, 0), (0, -1)];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pos` is never constructed
[INFO] [stdout]  --> src/astar_test.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Pos(i32, i32);
[INFO] [stdout]   |        ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/astar_test.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `distance` and `successors` are never used
[INFO] [stdout]   --> src/astar_test.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 |     impl Pos {
[INFO] [stdout]    |     -------- methods in this implementation
[INFO] [stdout]  8 |         fn distance(&self, other: &Pos) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         fn successors(&self) -> Vec<(Pos, u32)> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_robots` is never used
[INFO] [stdout]    --> src/method_1.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn move_robots(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/method_1.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut solution = String::from("");
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deduplicate` is never used
[INFO] [stdout]    --> src/method_1.rs:219:4
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn deduplicate(robot_vec: Vec<(i32, i32)>) -> Vec<(i32, i32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dim_x` is assigned to, but never used
[INFO] [stdout]   --> src/method_1.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut dim_x = 0;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_dim_x` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_robots` is assigned to, but never used
[INFO] [stdout]   --> src/method_1.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut num_robots = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_num_robots` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `min_path` is assigned to, but never used
[INFO] [stdout]   --> src/method_1.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut min_path: Vec<&(i32, i32)> = vec![&(-1, -1)];
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_min_path` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_robots_done` is never used
[INFO] [stdout]    --> src/method_1.rs:223:4
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn remove_robots_done(robot_vec: Vec<(i32, i32)>, destination: (i32, i32)) -> Vec<(i32, i32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dim_x` is never read
[INFO] [stdout]   --> src/method_1.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             dim_x = first_split[0].parse::<i32>().unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_robots` is never read
[INFO] [stdout]   --> src/method_1.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             num_robots = first_split[2].parse().unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `min_path` is never read
[INFO] [stdout]   --> src/method_1.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                     min_path = t_path;
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]  --> src/rand_test.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Person {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/tester.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn run(finder: fn(&Grid<i32>, (i32, i32), (i32, i32)) -> ()) {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/astar.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn find(t_grid: &Grid<i32>, start: (i32, i32), goal: (i32, i32)) -> Vec<(i32, i32)> {
[INFO] [stdout]   | --------------------------------------------------------------------------------------- move the `impl` block outside of this function `find`
[INFO] [stdout] 8 |     impl Pos {
[INFO] [stdout]   |     ^^^^^---
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Pos` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/astar_test.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   | ------------ move the `impl` block outside of this function `run`
[INFO] [stdout] 7 |     impl Pos {
[INFO] [stdout]   |     ^^^^^---
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Pos` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]   --> src/method_1.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     drop(data);
[INFO] [stdout]    |     ^^^^^----^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          argument has type `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]    |
[INFO] [stdout] 52 -     drop(data);
[INFO] [stdout] 52 +     let _ = data;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t_vec`
[INFO] [stdout]   --> src/rand_test.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let t_vec = vec![(0, 1), (0, 0), (0, 1), (0, 0), (0, -1)];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pos` is never constructed
[INFO] [stdout]  --> src/astar_test.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Pos(i32, i32);
[INFO] [stdout]   |        ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/astar_test.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `distance` and `successors` are never used
[INFO] [stdout]   --> src/astar_test.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 |     impl Pos {
[INFO] [stdout]    |     -------- methods in this implementation
[INFO] [stdout]  8 |         fn distance(&self, other: &Pos) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         fn successors(&self) -> Vec<(Pos, u32)> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_robots` is never used
[INFO] [stdout]    --> src/method_1.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn move_robots(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deduplicate` is never used
[INFO] [stdout]    --> src/method_1.rs:219:4
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn deduplicate(robot_vec: Vec<(i32, i32)>) -> Vec<(i32, i32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_robots_done` is never used
[INFO] [stdout]    --> src/method_1.rs:223:4
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn remove_robots_done(robot_vec: Vec<(i32, i32)>, destination: (i32, i32)) -> Vec<(i32, i32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]  --> src/rand_test.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Person {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/tester.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn run(finder: fn(&Grid<i32>, (i32, i32), (i32, i32)) -> ()) {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/astar.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn find(t_grid: &Grid<i32>, start: (i32, i32), goal: (i32, i32)) -> Vec<(i32, i32)> {
[INFO] [stdout]   | --------------------------------------------------------------------------------------- move the `impl` block outside of this function `find`
[INFO] [stdout] 8 |     impl Pos {
[INFO] [stdout]   |     ^^^^^---
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Pos` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/astar_test.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   | ------------ move the `impl` block outside of this function `run`
[INFO] [stdout] 7 |     impl Pos {
[INFO] [stdout]   |     ^^^^^---
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Pos` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]   --> src/method_1.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     drop(data);
[INFO] [stdout]    |     ^^^^^----^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          argument has type `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]    |
[INFO] [stdout] 52 -     drop(data);
[INFO] [stdout] 52 +     let _ = data;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.88s
[INFO] running `Command { std: "docker" "inspect" "a75aa99f40781531ca6dc86cde6816da01d183254c5a90b9908dbf7d23a213e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a75aa99f40781531ca6dc86cde6816da01d183254c5a90b9908dbf7d23a213e3", kill_on_drop: false }`
[INFO] [stdout] a75aa99f40781531ca6dc86cde6816da01d183254c5a90b9908dbf7d23a213e3
